package com.xgk.boot.module.core.dal.entity.order;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xgk.boot.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;

import java.util.Date;

/**
 * <p>
 * 订单发件人地址信息
 * </p>
 *
 * @author yfbao
 * @since 2025-06-14
 */
@Data
@TableName("order_shipper_address")
public class OrderShipperAddressDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId(value = "osa_id",type = IdType.ASSIGN_ID)
    private Long osaId;

    /**
     * 订单编号
     */
    @TableField(value = "order_code")
    private String orderCode;

    /**
     * 发件人姓名
     */
    @TableField(value = "shipper_name")
    private String shipperName;

    /**
     * 发件人公司
     */
    @TableField(value = "shipper_company")
    private String shipperCompany;

    /**
     * 发件人国家
     */
    @TableField(value = "shipper_country")
    private String shipperCountry;

    /**
     * 发件人邮编
     */
    @TableField(value = "shipper_postal_code")
    private String shipperPostalCode;

    /**
     * 发件人州/省
     */
    @TableField(value = "shipper_state_province")
    private String shipperStateProvince;

    /**
     * 发件人城市
     */
    @TableField(value = "shipper_city")
    private String shipperCity;

    /**
     * 发件人地址1
     */
    @TableField(value = "shipper_address1")
    private String shipperAddress1;

    /**
     * 发件人地址2
     */
    @TableField(value = "shipper_address2")
    private String shipperAddress2;

    /**
     * 发件人门牌号
     */
    @TableField(value = "shipper_doorplate")
    private String shipperDoorplate;

    /**
     * 发件人电话
     */
    @TableField(value = "shipper_telphone")
    private String shipperTelphone;

    /**
     * 发件人邮箱
     */
    @TableField(value = "shipper_email")
    private String shipperEmail;

    /**
     * 更新时间
     */
    @TableField(value = "oa_update_time")
    private Date oaUpdateTime;

    @Override
    public String toString() {
        return "OrderShipperAddress{" +
        ", osaId = " + osaId +
        ", orderCode = " + orderCode +
        ", shipperName = " + shipperName +
        ", shipperCompany = " + shipperCompany +
        ", shipperCountry = " + shipperCountry +
        ", shipperPostalCode = " + shipperPostalCode +
        ", shipperStateProvince = " + shipperStateProvince +
        ", shipperCity = " + shipperCity +
        ", shipperAddress1 = " + shipperAddress1 +
        ", shipperAddress2 = " + shipperAddress2 +
        ", shipperDoorplate = " + shipperDoorplate +
        ", shipperTelphone = " + shipperTelphone +
        ", shipperEmail = " + shipperEmail +
        ", oaUpdateTime = " + oaUpdateTime +
        "}";
    }
}
